<?php

class AReporteAveria {

    public function __construct(){
	}
	public function generarOrdenes(EFacade & $facade)
	{
		
		$docRA = & $facade->getDocumentRoot();
		$workflow = & $facade->getWorkflow();
		//$listaBuses = & $docOMCh->instanciaBuses;
		echo '<br><br>RA ',$docRA;
		
//		
//		
//		$ezpdo_=getManager();
//		$cant = 0;
//		echo '<br>cantidad original ',$cantidadPersonal = & $docOMCh->asociadoA->cantidadEmpleado;
//		$cantidadPersonal = $cantidadPersonal - 1;
//		
//		if($cantidadPersonal > -1){
//			if($cantidadPersonal == 0){
//				$empleado = $docOMCh->asociadoA->personalAsignado[$cantidadPersonal]->esRealizadaPor;
//			}
//			else{
//				$empleado = $docOMCh->asociadoA->personalAsignado[$cantidadPersonal-1]->esRealizadaPor;
//			}
//			$cantidadPersonal = $cantidadPersonal-1;
//			$docOMCh->asociadoA->cantidadEmpleado = $cantidadPersonal;
//			echo '<hr> cantiad ',$cantidadPersonal,' -- ',$empleado,' -- ';
//		}
//		else{
//			$cantidadPersonal = count($docOMCh->asociadoA->personalAsignado);
//			$docOMCh->asociadoA->cantidadEmpleado = $cantidadPersonal;
//			//$user->setAttribute('cantidad', $cantidadPersonal, 'tmp');
//			$empleado = $docOMCh->asociadoA->personalAsignado[$cantidadPersonal-1]->esRealizadaPor;
//			echo '<hr> cantiad else ',$cantidadPersonal,' -- ',$empleado,' -- ';
//		}
//		
//		if($listaBuses = & $docOMCh->instanciaBuses){
//		//foreach($listaBuses as $bus){
//	        
			 echo '<br>si crea ',$ordenInspeccion = $facade->session->create('DOrdenInspeccion');
//			
			echo '<hr>-crea - ',$ordenInspeccion->reporteAveria = $docRA;
			
			
			
//			echo '<br><br>si empleado ',$ordenTrabajo->empleado = $empleado;
////				foreach($ordenTrabajo->personalAsignado as $r)
////				echo '<br>si  ',$r;
////			$cant++;
//			
			$role=NULL;
			echo '<hr>-1 - ',$newEfacade =& EFacade :: initWorkflow($facade->session, $ordenInspeccion, & $role);
			echo '<hr>-2 - ',$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),3);//tipo process
			echo '<hr>-3 - ',$trans = $transSet->getTransByName('t1');
			$usuario=NULL;
			$newEfacade->fireTrans($trans, $usuario, "Crear",TRUE);
			echo '<hr>- trbajo  ';
			$ordenInspeccion->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
			echo '<hr>-4 - ';
			
			$newEfacade->saveWorkflow();
			$ordenInspeccion->commit();
			
			echo '<hr>-5 - ';
			$ordenInspeccion->numero = $ordenInspeccion->getDocumentNumber();
			$ordenInspeccion->commit();
//			
//			echo '<hr>- la orden de ins  ',$ordenInspeccion;
//			unset($newEfacade);
////				$facade->session->evictAll('MEdge');
////				$facade->session->evictAll('MTrans');
////				$facade->session->evictAll('MPlace');
//		
//		}		
		$docRA->epSetDirty(TRUE);
//		
		$workflowRA = & $facade->getWorkflow();
		$workflowRA->epSetDirty(TRUE);
//
		$transSetOMC = & EFacade :: getCurrentTransSetAuto($workflowRA, /* MTrans :: $TYPE_AUTO_AGENT */ 2);
		$listaWT= &$workflowRA->getWorkTransList();
//
		$transRA = $transSetOMC->getTransByName('t3');
		$facade->fireTrans($transRA,$usuario,'Creacion de Ordenes', TRUE);
//		$docRA->commit();
//		$workflowRA->saveWorkflow();
//			
//		
	}
	
//	public function continuar(EFacade & $facade)
//	{
//		
//		$docOMCh = & $facade->getDocumentRoot();
//		$workflow = & $facade->getWorkflow();
//		$ezpdo_=getManager();
//		///$listaBuses = & $docOMCh->instanciaBuses;
//		
//		echo '<hr>- docOMCh  ',$docOMCh;
//		echo '<hr>- docOt  ',$docOT = $docOMCh->ordenesTrabajo[0];
//		echo '<br><br> coun--> ',count($docOMCh->ordenesTrabajo);
//		
//		$role=NULL;
//		$newEfacade =& EFacade :: initWorkflow($facade->session, $docOT, & $role);
//		echo '<br> ** ',$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),2);//tipo agent
//		//$trans = $transSet->getTransByName('t1');
//		
//		$workflowOT=$docOT->workflowRef;
//		
//		
//		$facade->session->evictAll('MWorkPlace');
//		//$facade->session->evictAll('MWorkflow');
//		//$facade->session->refresh($workflowOT);
//		$placeSetOT = & EFacade :: getCurrentPlaceSet($workflowOT);
//		echo '<hr>  place ',$placeSetOT;
//
//		$usuario=NULL;
//		//////die;
//		if($placeSetOT->name == 'ps11'){
//			
//			echo '<br> <br> CREAR SOLICITUDOMCH';
//			die;
//		}
//	}
}
?>